package exception;

/**
 * finally块是异常处理机制的最后一块
 * 它可以直接跟在try之后或者最后一个catch之后.
 * finally可以保证只要程序执行到try语句块中,无论try语句块中的代码是否
 * 出现了异常,finally块中的代码都必定执行.
 *
 * finally中通常完成如释放资源这列操作,例如IO操作后的close().
 */
public class FinallyDemo {
    public static void main(String[] args) {
        System.out.println("程序开始了");
        try {
//            String str = null;
            String str = "abc";
            System.out.println(str.length());
            return;//finally执行后方法才真正结束并返回
        } catch (Exception e) {
            System.out.println("出错了!");
        } finally {
            System.out.println("finally中的代码执行了!");
        }
        System.out.println("程序结束了");
    }
}







